package br.com.curso.relatoriobancario;

import java.util.ArrayList;
import java.util.List;

public abstract class Filtro {
	
	protected Filtro outroFiltro;

	public Filtro() {}
	
	public Filtro (Filtro outroFiltro) {
		this.outroFiltro = outroFiltro;
	}
	
	public abstract List<Conta> filtra (List<Conta> contas);
	
	public List<Conta> filtraOutroFiltro (List<Conta> contas) {
		if (outroFiltro == null) {
			return new ArrayList<Conta>();
		}
		return outroFiltro.filtra(contas);
	}

}
